package com.bird.设计模式.结构型.组合模式;

/**
 * @data 2022/3/15 17:50
 * @author: bird
 * @description: 验证组合模式
 */
public class Test {

    public static void main(String[] args) {

        CatalogComponent linuxCourse = new Course("Linux课程", 12.11);
        CatalogComponent windowsCourse = new Course("windows课程", 11.11);


        CatalogComponent javaCourseCatalog = new CourseCatalog("java课程目录",2);
        CatalogComponent mmallCourse1 = new Course("java 电商一期课程", 13.13);
        CatalogComponent mmallCourse2 = new Course("java 电商二期课程", 13.13);
        CatalogComponent mmallCourse3 = new Course("java 设计模式课程", 13.13);
        javaCourseCatalog.add(mmallCourse1);
        javaCourseCatalog.add(mmallCourse2);
        javaCourseCatalog.add(mmallCourse3);


        // 课程主目录 即可以添加课程 也可以添加课程目录 这个就是组合模式的核心
        CourseCatalog imoocMainCourseCatalog = new CourseCatalog("慕课网课程主目录",1);
        imoocMainCourseCatalog.add(linuxCourse);
        imoocMainCourseCatalog.add(windowsCourse);
        imoocMainCourseCatalog.add(javaCourseCatalog);
        imoocMainCourseCatalog.print();
    }
}
